SELECT a.pname, b.pname FROM part a, part b WHERE a.p# != b.p# AND EXISTS (SELECT * FROM litem al WHERE al.p# = a.p# AND b.p# IN (SELECT p# FROM litem WHERE i# = al.i#)) AND NOT EXISTS (SELECT * FROM litem al WHERE al.p# = a.p# AND b.p# NOT IN (SELECT p# FROM litem WHERE i# = al.i#)) AND NOT EXISTS (SELECT * FROM litem bl WHERE bl.p# = b.p# AND a.p# NOT IN (SELECT p# FROM litem WHERE i# = bl.i#));